From 60e4422d12bc7eb5a8b0d6750e594b1e40eb7ecb Mon Sep 17 00:00:00 2001 From: Andreas Beckmann Date: Fri, 5 Feb 2021 16:01:50 +0100 Subject: [PATCH] [PATCH 05/10] handle dlsym error on device library Gbp-Pq: Name 0005-handle-dlsym-error-on-device-library.patch --- lib/CL/devices/devices.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/CL/devices/devices.c b/lib/CL/devices/devices.c index 77a1eaa..9c1fc6f 100644 --- a/lib/CL/devices/devices.c +++ b/lib/CL/devices/devices.c @@ -595,11 +595,23 @@ pocl_init_devices () { pocl_devices_init_ops[i] = (init_device_ops)dlsym ( pocl_device_handles[i], init_device_ops_name); - pocl_devices_init_ops[i](&pocl_device_ops[i]); + if (pocl_devices_init_ops[i] != NULL) + { + pocl_devices_init_ops[i](&pocl_device_ops[i]); + } + else + { + POCL_MSG_ERR ("Loading symbol %s from %s failed: %s\n", + init_device_ops_name, device_library, + dlerror ()); + device_count[i] = 0; + continue; + } } else { - POCL_MSG_WARN ("Loading %s failed.\n", device_library); + POCL_MSG_WARN ("Loading %s failed: %s\n", device_library, + dlerror ()); device_count[i] = 0; continue; } -- 2.30.2